/*
 * @Author: LVGRAPE
 * @LastEditors: LVGRAPE
 */
#include "zino.h"

static int zi_start(void)
{
    return 0;
}
ZINO_EXPORT(zi_start, "0");

static int zi_board_start(void)
{
    return 0;
}
ZINO_EXPORT(zi_board_start, "0.end");

static int zi_board_end(void)
{
    return 0;
}
ZINO_EXPORT(zi_board_end, "1.end");

static int zi_end(void)
{
    return 0;
}
ZINO_EXPORT(zi_end, "6.end");
int zino_board_init()
{
    const init_fn_t *fn_ptr;
    // rt_kprintf("\r\n\r\n zino_board_init: %08X-%08X \r\n",&__zino_init_zi_board_start,&__zino_init_zi_board_end);
    for (fn_ptr = &__zino_init_zi_board_start; fn_ptr < &__zino_init_zi_board_end; fn_ptr++)
    {
        (*fn_ptr)();
    }
    return 0;
}
int zino_components_init()
{
    volatile const init_fn_t *fn_ptr;
    // rt_kprintf("\r\n\r\n zino_components_init: %08X-%08X \r\n",&__zino_init_zi_board_end,&__zino_init_zi_end);
    for (fn_ptr = &__zino_init_zi_board_end; fn_ptr < &__zino_init_zi_end; fn_ptr++)
    {
        (*fn_ptr)();
    }
    return 0;
}

// ZINO_APP_EXPORT(zino_board_init);
// ZINO_APP_EXPORT(zino_components_init);
